/**
 * 基于axios 封装请求模块
*/
import axios from 'axios'
// 导入进度条 NProgress 包的js和css文件
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
// 创建一个axios实例
const request = axios.create({
  baseURL: 'http://localhost:8080' // 请求根路径
})
// 添加请求拦截器
request.interceptors.request.use(config => {
  // 在发送请求之前做些什么
  NProgress.start()
  // 获取当前用户登录的userToken和管理员的adminToken
  const userToken = window.localStorage.getItem('userToken')
  const adminToken = window.localStorage.getItem('adminToken')
  if (userToken || adminToken) {
    config.headers.Authorization = userToken || adminToken
  }
  return config
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error)
})

// 添加响应拦截器
request.interceptors.response.use(config => {
  // 对响应数据做点什么
  NProgress.done()
  return config
}, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error)
})
// 导入请求模块
export default request
